package com.xqboss.apps.dto.guild;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * (GuildEquityConfig)dto
 *
 * @author ljh
 * @since 2024-01-09 17:21:10
 */
@Data
@ApiModel("公会权益配置dto")
public class WebGuildEquityConfigDto implements Serializable {

    private static final long serialVersionUID = 1L;

    //主键（公会权益配置）
    @ApiModelProperty("主键")
    private Long id;

    @ApiModelProperty("身份id")
    @NotNull(message = "身份id不能为空！")
    private Long identityId;

    @ApiModelProperty("创建公会开关(默认0，false-关闭，true-开启)")
    @NotNull(message = "创建公会开关不能为空！")
    private Boolean isOpen;

    @ApiModelProperty("创建公会藏品消耗（藏品id，非必填，默认null）")
    private Long createNftId;

    @ApiModelProperty("创建公会热豆消耗（数量，大于等于0，默认0）")
    @Min(value = 0,message = "创建公会热豆消耗（数量，大于等于0，默认0）")
    private BigDecimal createHotBeans;

    @ApiModelProperty("创建公会扳手消耗（数量，大于等于0，默认0）")
    @Min(value = 0,message = "创建公会扳手消耗（数量，大于等于0，默认0）")
    private BigDecimal createWrench;

    @ApiModelProperty("加入公会藏品消耗（藏品id，非必填，默认null）")
    private Long joinNftId;

    @ApiModelProperty("加入公会热豆消耗（数量，大于等于0，默认0）")
    @Min(value = 0,message = "加入公会热豆消耗（数量，大于等于0，默认0）")
    private BigDecimal joinHotBeans;

    @ApiModelProperty("加入公会扳手消耗（数量，大于等于0，默认0）")
    @Min(value = 0,message = "加入公会扳手消耗（数量，大于等于0，默认0）")
    private BigDecimal joinWrench;

    @ApiModelProperty("公会等级，默认为1级（公会不同等级对应：加入公会不同的 藏品消耗、热豆消耗、扳手消耗）")
    private Integer guildLevel = 1;
}

